package com.ruoyi.mdm.domain;

import lombok.Data;

import java.util.HashMap;

/**
 * @author shiseido
 * @date 2025-03-01
 */
@Data
public class SkuMasterConstants {

    public static HashMap<String,String>  SPU_CODE_NAME_MAP = new HashMap();
//    public static List<SkuEmailAddressEntity> SKU_EMAIL_ADDRESS_LIST = new ArrayList<>();

    public static HashMap<String,String>  SKUM_CODE_NAME_MAP = new HashMap();

    /*
    NEW_ORDER_SKU_NTF
     */
    public static HashMap<String,SkuNewOrderSkuEntity>  NEW_ORDER_SKU_NTF = new HashMap();

    // 变更项
    public enum SKU_SAMPLE_M_TYPE {
        // 枚举常量，需与构造器参数匹配
        SPU("SPU更新", 1),
        SKU_SAMPLE_CONTENT("小样容量更新", 2),
        SKU_SAMPLE_CONTENTUNIT("小样容量单位更新", 3),
        SKU_SAMPLE_SPU("小样SPU更新", 4),
        SKUM_PRICE("SKUM价格更新", 5),
        SKUM_CONTENT("SKUM容量更新", 6),
        SKUM_CONTENTUNIT("SKUM容量单位更新", 7),
        SKUM_SPU("SKUM SPU更新", 8),
        UPDATE_GWP("GWP更新", 9),
        SKU_SAMPLE_PRICE("小样价格更新", 10),
        SKU_PRICE("正装价格更新", 11),
        PRODUCT_PRICE("产品价格更新", 12);

        // 枚举属性
        private final String desc;  // 中文描述
        private final int code;     // 编码值

        // 私有构造器（枚举构造器必须为private）
        SKU_SAMPLE_M_TYPE(String desc, int code) {
            this.desc = desc;
            this.code = code;
        }

        // 获取属性的方法
        public String getDesc() {
            return desc;
        }

        public int getCode() {
            return code;
        }

        // 自定义方法：根据code获取枚举实例
        public static SKU_SAMPLE_M_TYPE getByCode(int code) {
            for (SKU_SAMPLE_M_TYPE gender : SKU_SAMPLE_M_TYPE.values()) {
                if (gender.code == code) {
                    return gender;
                }
            }
            return SPU;  // 默认返回未知
        }


    }


    public enum SKU_SAMPLE_M_MODULE {
        // 枚举常量，需与构造器参数匹配
        SKUM("SKUM管理", 1),
        SKU_SAMPLE("小样管理", 2),
        SKU_SAMPLE_CAL_ERROR("小样计算异常提醒", 3),
        SYS_EX("系统对接", 4);

        // 枚举属性
        private final String desc;  // 中文描述
        private final int code;     // 编码值

        // 私有构造器（枚举构造器必须为private）
        SKU_SAMPLE_M_MODULE(String desc, int code) {
            this.desc = desc;
            this.code = code;
        }

        // 获取属性的方法
        public String getDesc() {
            return desc;
        }

        public int getCode() {
            return code;
        }

        // 自定义方法：根据code获取枚举实例
        public static SKU_SAMPLE_M_MODULE getByCode(int code) {
            for (SKU_SAMPLE_M_MODULE gender : SKU_SAMPLE_M_MODULE.values()) {
                if (gender.code == code) {
                    return gender;
                }
            }
            return SKUM;  // 默认返回未知
        }


    }

}
